Computer systems are currently in wide use. Some computer systems are relatively large, and may include, for instance, thousands of different forms and other user interface and data entities (such as tables). Such computer systems are often customized (and some heavily customized) before they are deployed in a given implementation.
By way of example, some large computer systems include business systems. Such business systems may include, for instance, enterprise resource planning (ERP) systems, customer relations management (CRM) systems, line-of-business (LOB) systems, among others. These types of business systems often include many thousands of different forms, each of which may have many different controls and other user interface elements. Such systems also commonly include a great deal of business logic, as well as work flows, that allow users to access the system and perform a set of activities, or tasks, in order to carry out their duties in conducting a particular business for which they are working.
When such a business system is deployed in a specific business, it is common for the business system to be highly customized in order to meet the functional requirements of the particular business in which it is deployed. By way of example, different businesses may wish to have different form controls on a given form that represents a customer entity. In addition, different organizations may wish to have different business logic or other items on an expense report form. Thus, it can be seen that a given business system may be heavily customized so that it meets the requirements of the given organization that is using it.
A business system may also have multiple different layers of customization. For instance, a software company that has created and developed the basic system may simply sell the business system as a base product. An independent software vendor (ISV) may then generate a set of customizations to the base product, so that the base product can be resold with those customizations. A value added reseller (VAR) may add another layer of customizations, and the ultimate end user of the product may be in a partnership with a development partner, where the development partner adds their own customizations.
In making such customizations, it may be that a given developer wishes a particular extension that he or she is creating to have customized design time behavior. Design time behavior can be distinguished from runtime behavior. For instance, it may be that a developer can configure a form control so that, during runtime, it is either visible or invisible, based upon the specific configuration. However, regardless of the configuration, it may be that the developer wishes the form control to always be visible during design time. Thus, its design time behavior may be different from its runtime behavior. Design time behavior of the form control is normally defined in system metadata in a base system.
Currently, when a developer or another programmer wishes to change the design time behavior of a form control, for instance, the developer somehow gains access to the system metadata. The developer makes the changes there, or the changes in design time behavior are not made.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.